package com.netas.kekmanager.dao;
import com.netas.kekmanager.dao.model.UserType;
import com.netas.kekmanager.dao.model.UserTypePk;
import com.netas.kekmanager.dao.exceptions.UserTypeDaoException;
import java.util.List;

public interface UserTypeDao
{
	/**
	 * Method 'insert'
	 * 
	 * @param dto
	 * @return UserTypePk
	 */
	public UserTypePk insert(UserType dto);

	/** 
	 * Updates a single row in the user_type table.
	 */
	public void update(UserTypePk pk, UserType dto) throws UserTypeDaoException;

	/** 
	 * Deletes a single row in the user_type table.
	 */
	public void delete(UserTypePk pk) throws UserTypeDaoException;

	/** 
	 * Returns all rows from the user_type table that match the criteria 'id = :id'.
	 */
	public UserType findByPrimaryKey(int id) throws UserTypeDaoException;

	/** 
	 * Returns all rows from the user_type table that match the criteria ''.
	 */
	public List<UserType> findAll() throws UserTypeDaoException;

	/** 
	 * Returns all rows from the user_type table that match the criteria 'id = :id'.
	 */
	public List<UserType> findWhereIdEquals(int id) throws UserTypeDaoException;

	/** 
	 * Returns all rows from the user_type table that match the criteria 'name = :name'.
	 */
	public List<UserType> findWhereNameEquals(String name) throws UserTypeDaoException;

	/** 
	 * Returns the rows from the user_type table that matches the specified primary-key value.
	 */
	public UserType findByPrimaryKey(UserTypePk pk) throws UserTypeDaoException;

}
